The present invention relates to a circuit for and method of synchronization of a spreading code in a spread-spectrum mobile wireless communication system of the direct-sequence code division multiple access (DS-CDMA) type.
In DS-CDMA systems, a transmitting station and a receiving station spread and despread a data signal by use of the same spreading code, which is typically a pseudorandom noise (PN) sequence of values of plus and minus one, referred to as chips. The data signal is spread by multiplication by the spreading code, the chip rate being higher than the data symbol rate. Despreading is carried out by a correlation process that multiplies the received signal by the spreading code and averages the products over each data symbol interval.
Different PN sequences have approximately zero cross-correlation, enabling a number of transmitters and receivers to share the same frequency band. The number is proportional to the ratio of the chip rate to the data symbol rate, referred to as the processing gain. Each PN sequence also has a sharply peaked autocorrelation function, requiring the spreading code used for despreading at the receiver to be closely synchronized with the transmitter""s spreading code.
The spreading code used for despreading at the receiver will also be referred to below as the despreading code.
Because the transmission channel in mobile wireless communication systems is usually a multipath channel, with different signal components arriving on different paths with different delays, RAKE receives are often employed. A RAKE receiver in a DS-CDMA system has a plurality of despreading units, sometimes referred to as demodulating elements or fingers, in which the despreading code can be delayed by different amounts, synchronized with different signal components. The despread data obtained in the different fingers are combined into a single received data signal.
Because the delay characteristics of a multipath channel tend to vary as the receiver moves, each finger has a synchronization tracking unit that tracks changes in the delay of the corresponding signal component. One type of synchronization tracking unit that is commonly employed is a delay-locked loop (DLL) that correlates the received signal with an early code advanced by half a chip from the despreading code, and a late code delayed by half a chip from the despreading code. The timing of the despreading code is adjusted according to the difference in correlation power between the early code and late code.
Because the attenuation characteristics of the multipath channel also tend to vary, known receivers have a synchronization acquisition unit that constantly searches for new signal components to which the receiver fingers can be reassigned, so that the receiver fingers are always assigned to the strongest received components.
However, the accuracy of the synchronization acquisition unit and the synchronization tracking units is limited. One resulting problem is that the synchronization acquisition unit may detect the same path component at two different synchronization positions, which are assigned to two different receiver fingers. Both fingers then track the same path component, reducing the path diversity of the receiver, thus reducing the amount of transmitted signal power than can be demodulated. The same problem occurs if a synchronization tracking unit wanders off its assigned synchronization position and onto a nearby synchronization position assigned to a different receiver finger.
This problem also occurs when the synchronization acquisition unit detects a path component that is already being tracked, but at a slightly different synchronization position. The result in this case may be that two fingers are assigned to the same component, or that a finger is unnecessarily reassigned to the component it was already tracking, the reassignment being accompanied by a temporary interruption of demodulation of the component.
In addition, when the power of a signal component that is being tracked fades rapidly, the finger tracking that component may lose synchronization entirely and begin producing a despread signal consisting entirely of noise. This situation also occurs when a signal path simply disappears, an occurrence not unusual in mobile communications. Normally, the finger will quickly be reassigned to a valid signal component, but if no new component appears, noisy output may continue for some time.
It is accordingly an object of the present invention to provide a spreading code synchronization method and circuit, for use in a receiver in a spread-spectrum mobile communication system, that reassigns synchronization tracking units in such a way that multipath signal components are tracked efficiently, and demodulation of the received signal continues without interruption, even under difficult reception conditions.
The invented spreading code synchronization circuit has a synchronization acquisition unit that performs a sliding correlation to obtain a list of synchronization positions with correlation power values exceeding an acquisition threshold, a positive number of synchronization tracking units that, when active, track changes in the synchronization of a spreading code in a received signal, starting from an assigned synchronization position, and an assignment control unit that assigns synchronization positions to synchronization tracking units. The assignment control unit selects a candidate list of acquired synchronization positions mutually separated by at least a predetermined phase difference, and performs the following processes:
a tracked synchronization position exclusion process that removes synchronization positions close to points already being tracked by active synchronization tracking units from the candidate list;
an assignable synchronization position selection process that selects a predetermined number of most strongly correlated synchronization positions from the candidate list as assignable synchronization positions;
an idle tracking unit check process that selects inactive synchronization tracking units as assignable synchronization tracking units;
a duplicate tracking check process that finds different synchronization tracking units tracking substantially identical synchronization positions, and selects all but one of them as assignable synchronization tracking units;
a low power check process that selects active synchronization tracking units tracking synchronization positions with low correlation power as assignable synchronization tracking units;
a reassignment process that assigns assignable synchronization positions to assignable synchronization tracking units; and
a window adjustment process that selects the sliding correlation window to be used in the next sliding correlation.
In one aspect of the invention, each active synchronization tracking unit measures the correlation power at the tracked synchronization position, and the low power check process compares the measured correlation power values with a predetermined low power threshold.
In another aspect, the low power check process selects active synchronization tracking units tracking synchronization positions that are not close to any synchronization position acquired by the synchronization acquisition unit.
In another aspect, the window adjustment process centers the sliding correlation window at a midpoint of the synchronization positions tracked by the active synchronization tracking units.
In another aspect, the synchronization acquisition unit uses a fixed acquisition threshold.
In another aspect, the synchronization acquisition unit stores a maximum correlation power value obtained in a preceding sliding correlation, and calculates the acquisition threshold by dividing the stored maximum correlation power value by a predetermined constant, or by subtracting a predetermined constant from the stored maximum correlation power value.
In another aspect, the reassignment process assigns assignable synchronization positions first to the synchronization tracking units selected in the duplicate tracking check process, then to synchronization positions selected in the idle tracking unit check process, and finally to synchronization positions selected in the low power check process.
The invented spreading code synchronization method carries out the processes described above, comprising the steps of:
(a) performing a sliding correlation to obtain a list of synchronization positions;
(b) selecting, from this list, a candidate list of sufficiently separated synchronization positions;
(c) removing synchronization positions close to synchronization positions already being tracked from the candidate list;
(d) selecting assignable synchronization positions from the candidate list;
(e) selecting inactive synchronization tracking units;
(f) selecting all but one from any group of synchronization tracking units tracking substantially identical synchronization positions;
(g) selecting synchronization tracking units with low correlation power;
(h) assigning the assignable synchronization positions to the synchronization tracking units selected in steps (e), (f), and (g); and
(i) selecting the next sliding correlation window for use in step (a).
Synchronization tracking units selected in said steps (f), (e), and (g) may be taken in this order in step (h).